<?php
/**
 * 
 * Este modelo se creo para obtener todas las companias que estan activas e historicas
 * @author Rosanna Paberli Jimenez Rosario
 *
 */
class CompaniasHistoricaActivasModel extends Model
{
	private $_nameTable = "SC_Vista_todasCompanias";
	
    public function __construct()
	{
		parent::Model();
	}
	
    public function loadRegistroById($id)
	{
		$query = $this->db->get_where($this->_nameTable, array('IdCompania' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return new ActivasHistoricas($query->row());
		
	}
    public function loadRegistro($start = NULL, $offset = NULL, $sortname = NULL, $sortorder = NULL)
	{
		            
		if($offset != false){
               $this->db->limit($offset, $start);
         }
		      
		 if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		 
		$query = $this->db->get($this->_nameTable);
		return $this->_getArrayFromQueryResult($query);
	}
	
	
    private function _getArrayFromQueryResult($resurt)
	{
		if($resurt->num_rows() == 0){
			return false;
		}
		
		$registros = array();
		
		foreach($resurt->result() as $record){
			$registros[] = new ActivasHistoricas($record);
		}
		
		return $registros;
	}
	
	/**
	 * 
	 * RETORNA UN ARREGLO DE LAS COMPANIAS QUE ESTAN 
	 * ACTIVAS E HISTORICAS DEPENDIENDO DEL FILTRO (WHERE)
	 * QUE SE LE INDIQUE A LA CONSULTA
	 * 
	 * @param array $where
	 * @param boolean $count
	 * @return array
	 * 
	 * @author Algenis Volquez
	 */
	public function loadRegistrosByWhere($where, $count = false)
	{
		$results = $this->db->get_where($this->_nameTable, $where);
		
		if($count != false){
			return $results->num_rows();
		}
		
		return $this->_getArrayFromQueryResult($results);
	}
	
}

class ActivasHistoricas
{

	private $_IdCompania;
	private $_nombre;
	private $_idServicio;
	private $_clasificacionServicio;
	private $_idJurisdiccion;
	private $_fechaUsuarioCompania;
	private $_fechaSistemaCompania;
	private $_idUsuairo;
	private $_idProvincia;
	private $_telefonoUno;
	private $_telefonoDos;
	private $_email;
	private $_contacto;
	private $_fechaHistorico;

	public function __construct($dataObjeto)
	{
		
		$this->_IdCompania = $dataObjeto->IdCompania;
		$this->_nombre     = $dataObjeto->NombreCompania;
		$this->_idServicio = $dataObjeto->IdServicio;
		$this->_clasificacionServicio = $dataObjeto->clasificacion_servicios;
		$this->_idJurisdiccion = $dataObjeto->IdJurisdiccion;
		$this->_fechaUsuarioCompania = $dataObjeto->FechaUsrCompania;
		$this->_fechaSistemaCompania = $dataObjeto->FechaSysCompania;
		$this->_idUsuairo = $dataObjeto->IdUsuario;
		$this->_idProvincia = $dataObjeto->IdProvincia;
		$this->_telefonoUno = $dataObjeto->Telefono1Compania;
		$this->_telefonoDos = $dataObjeto->Telefono2Compania;
		$this->_email       = $dataObjeto->EmailCompania;
		$this->_contacto    = $dataObjeto->Contacto;
		$this->_fechaHistorico = $dataObjeto->FechaHistorico;
		
	}
	
	
	public function getIdCompania()
	{
		return $this->_IdCompania;
	}
	
	public function getNombre()
	{
		return $this->_nombre;
	}
	
	public function getIdServicio()
	{
		return $this->_idServicio;
	}
	
	public function getClasificacionS()
	{
		return $this->_clasificacionServicio;
	}
	
	public function getJurisdiccion()
	{
		return $this->_idJurisdiccion;
	}
	
	public function getFechaUsuarioCompania()
	{
		return $this->_fechaUsuarioCompania;
	}
	
	public function getFechaSistemaCompania()
	{
		return $this->_fechaSistemaCompania;
		
	}
	
	public function getIdUsuario()
	{
		return $this->_idUsuairo;
	}
	
	public function getIdProvincia()
	{
		return $this->_idProvincia;
	}
	
   public function getTelefonoUno()
   {
		return $this->_telefonoUno;
   }
   
   public function getTelefonoDos()
   {
   		return $this->_telefonoDos;
   }
   
   public function getEmail()
   {
   		return $this->_email;
   }
   
   public function getContacto()
   {
   		return $this->_contacto;
   }
   
   public function getFechaHistoria()
   {
   		return $this->_fechaHistorico;
   }
   
}
